@use '../modules' as *;

paned {
  > separator {
    min-width: 1px;
    min-height: 1px;
    -gtk-icon-source: none; // defeats the ugly default handle decoration
    border-style: none; // just to be sure
    background-color: transparent;
    // workaround, using background instead of a border since the border will get rendered twice (?)
    background-image: image($borders_color);
    background-size: 1px 1px;

    &:selected { background-image: image($accent_bg_color); } // FIXME is this needed?
    &:backdrop { background-image: image($backdrop_borders_color); }

    &.wide {
      min-width: 5px;
      min-height: 5px;
      background-color: $window_bg_color;
      background-image: image($borders_color), image($borders_color);
      background-size: 1px 1px, 1px 1px;

      &:backdrop {
        background-color: $backdrop_bg_color;
        background-image: image($backdrop_borders_color),
                          image($backdrop_borders_color);
      }
    }
  }

  &.horizontal > separator {
    background-repeat: repeat-y;

    &:dir(ltr) {
      margin: 0 -8px 0 0;
      padding: 0 8px 0 0;
      background-position: left;
    }
    &:dir(rtl) {
      margin: 0 0 0 -8px;
      padding: 0 0 0 8px;
      background-position: right;
    }

    &.wide {
      margin: 0;
      padding: 0;
      background-repeat: repeat-y, repeat-y;
      background-position: left, right;
    }
  }

  &.vertical > separator {
    margin: 0 0 -8px 0;
    padding: 0 0 8px 0;
    background-repeat: repeat-x;
    background-position: top;

    &.wide {
      margin: 0;
      padding: 0;
      background-repeat: repeat-x, repeat-x;
      background-position: bottom, top;
    }
  }
}
